home *** CD-ROM | disk | FTP | other *** search
/ Chip: 2005 Utilities / CHIP Utilities 2005.7z / CHIP Utilities 2005.iso / images / fdmsrrc.igz / fdmsrrc.img / LEVEL3 / msnet.cab / bin / msnet.bat
DOS Batch File  |  2005-01-16  |  49KB  |  1,430 lines

  1. @if "%debug%"=="" echo off
  2. @if not "%debug%"=="" echo on
  3. if "%1"==":" if not "%2"=="" goto %2
  4.  
  5. echo MSNET: Starting (version 2.7)
  6. if not exist %ramdrv%\bin\lmod.com %0 : _error missing lmod.com (check utils.%arcext%)
  7. if not exist %ramdrv%\bin\tfind.com %0 : _error missing tfind.com (check utils.%arcext%)
  8. if not exist %ramdrv%\bin\wbat.com %0 : _error missing wbat.com (check utils.%arcext%)
  9.  
  10. :_start
  11. xgrep -sy "^[:s]*@*[:s]*s?e?t?[:s]*[GP]_.+=" %ramdrv%\etc\global.set > %tmp%\_msnet.bak
  12. if errorlevel 1 goto _noglob
  13. xgrep -sy "^[:s]*@*[:s]*set[:s]+" %tmp%\_msnet.bak > %tmp%\_msnet.bat
  14. xgrep -syv "^[:s]*@*[:s]*set[:s]+" %tmp%\_msnet.bak > %tmp%\_msnet.tmp
  15. if errorlevel 1 goto _runset
  16. lmod /L* set []< %tmp%\_msnet.tmp >> %tmp%\_msnet.bat
  17. :_runset
  18. call %tmp%\_msnet.bat
  19. :_noglob
  20.  
  21. if "%g_timeout%"=="" set g_timeout=10
  22.  
  23. if exist protman$ goto _config2
  24.  
  25. if "%1"=="-c" goto _config1
  26. if "%1"=="/c" goto _config1
  27. if "%1"=="-h" goto _usage
  28. if "%1"=="/h" goto _usage
  29.  
  30. if "%g_nocfg%"=="1" goto _nocfg
  31. wbat box @%0:w_cfg #1,%g_timeout%
  32. if errorlevel 3 goto _end
  33. if errorlevel 2 goto _config1
  34. :_nocfg
  35.  
  36. if not exist %ramdrv%\etc\profile\*.pro goto _nopro
  37.  
  38. if not "%g_fixpro%"=="1" goto _selprof
  39. echo MSNET: Using fixed profile "%g_profile%"
  40. if "%g_profile%"=="" goto _selprof
  41. if not exist %ramdrv%\etc\profile\%g_profile%.pro goto _fnpro
  42.  
  43. if not "%g_bypro%"=="1" goto _bypro1
  44. echo MSNET: You are forced to use fixed profile "%g_profile%"
  45. goto _nchkpro1
  46. :_bypro1
  47. wbat box @%0:w_bypro #1,%g_timeout%
  48. if errorlevel 100 goto _nopro
  49. if errorlevel 3 goto _end
  50. if errorlevel 2 goto _nopro
  51. :_nchkpro1
  52. goto _prorun2
  53.  
  54. :_fnpro
  55. echo MSNET: Profile not found "%g_profile%" (%ramdrv%\etc\profile\%g_profile%.pro does not exist)
  56. :_selprof
  57. echo :_profile " Select profile " >%tmp%\_msnet.tmp
  58. if exist %tmp%\_msnet2.tmp del %tmp%\_msnet2.tmp
  59. for %%i in (%ramdrv%\etc\profile\*.pro) do echo %%i >>%tmp%\_msnet2.tmp
  60. type %tmp%\_msnet2.tmp | lmod /L* /B\. [$4] >%tmp%\_msnet.bak
  61. if exist %tmp%\_msnet2.tmp del %tmp%\_msnet2.tmp
  62.  
  63. :_dummy14
  64. lmod /L* [~32][$1][~32][+][-]<%tmp%\_msnet.bak >%tmp%\_msnet2.tmp
  65. if not "%g_profile%"=="" if exist %ramdrv%\etc\profile\%g_profile%.pro goto _pr1st
  66. type %tmp%\_msnet2.tmp >%tmp%\_msnet.bak
  67. goto _prlst
  68. :_pr1st
  69. tfind " %g_profile% " <%tmp%\_msnet2.tmp >%tmp%\_msnet.bak
  70. tfind /v " %g_profile% " <%tmp%\_msnet2.tmp >>%tmp%\_msnet.bak
  71. :_prlst
  72. lmod set _msnet=[$1]<%tmp%\_msnet.bak >%tmp%\_msnet.bat
  73. set _msnet=
  74. call %tmp%\_msnet.bat
  75. if "%_msnet%"=="" goto _prlopx
  76. inifile %ramdrv%\etc\profile\%_msnet%.pro [] set p_prot | lmod /S [$2:!]>%tmp%\_msnet.bat
  77. set p_prot=
  78. call %tmp%\_msnet.bat
  79. linex 1 <%tmp%\_msnet.bak >>%tmp%\_msnet.tmp
  80. :_prdrop
  81. set p_prot=
  82. linex 2- <%tmp%\_msnet.bak >%tmp%\_msnet2.tmp
  83. type %tmp%\_msnet2.tmp >%tmp%\_msnet.bak
  84. goto _prlst
  85. :_prlopx
  86. if exist %tmp%\_msnet2.tmp del %tmp%\_msnet2.tmp
  87. type %tmp%\_msnet.tmp | lmod /L3 set wbat=[$1]>%tmp%\_msnet.bat
  88. set wbat=
  89. call %tmp%\_msnet.bat
  90. if not "%wbat%"=="" goto _proflist
  91. type %tmp%\_msnet.tmp | lmod /L2 set wbat=[$1]>%tmp%\_msnet.bat
  92. call %tmp%\_msnet.bat
  93. set g_profile=%wbat%
  94. echo MSNET: Only one profile found (%g_profile%), no need for user to select...
  95.  
  96. :_bypass
  97. if not "%g_bypro%"=="1" goto _bypro
  98. echo MSNET: You cannot bypass profile "%g_profile%"
  99. goto _nchkpro
  100. :_bypro
  101. wbat box @%0:w_bypro #1,%g_timeout%
  102. if errorlevel 100 goto _nopro
  103. if errorlevel 3 goto _end
  104. if errorlevel 2 goto _nopro
  105. :_nchkpro
  106. goto _prorun2
  107.  
  108. :_proflist
  109. tfind " %g_profile% " <%tmp%\_msnet.tmp >nul
  110. if errorlevel 1 goto _prls1
  111. @call w.bat list @%tmp%\_msnet.tmp:_profile #1,%g_timeout%
  112. goto _prls2
  113. :_prls1
  114. @call w.bat list @%tmp%\_msnet.tmp:_profile
  115. :_prls2
  116. if errorlevel 100 goto _nopro
  117. set g_profile=%wbat%
  118. :_prorun2
  119. :_dumdim4
  120. xgrep -sy "^[:s]*@*[:s]*s?e?t?[:s]*.+=" < %ramdrv%\etc\profile\%g_profile%.pro > %tmp%\_msnet.bak
  121. if errorlevel 1 goto _nopro
  122. xgrep -sy "^[:s]*@*[:s]*set[:s]+" %tmp%\_msnet.bak > %tmp%\_msnet.bat
  123. xgrep -syv "^[:s]*@*[:s]*set[:s]+" %tmp%\_msnet.bak > %tmp%\_msnet.tmp
  124. if errorlevel 1 goto _runprof
  125. lmod /L* set []< %tmp%\_msnet.tmp >> %tmp%\_msnet.bat
  126. :_runprof
  127. call %tmp%\_msnet.bat
  128. :_nopro
  129.  
  130. if "%p_ip%"=="" set p_ip=0.0.0.0
  131. if "%p_subnet%"=="" set p_subnet=0.0.0.0
  132. if "%p_gway%"=="" set p_gway=0.0.0.0
  133. if "%p_dns%"=="" set p_dns=0.0.0.0
  134. if "%p_wins%"=="" set p_wins=0.0.0.0
  135. if "%p_timeout%"=="" set p_timeout=5
  136. if "%p_dhcp%"=="" set p_dhcp=1
  137. if "%p_pkt%"=="" set p_pkt=1
  138.  
  139. if not exist %srcdrv%\lib\joinlib.%arcext% goto _nojoin
  140. if not exist %ramdrv%\net\ndishlp.sys call %ramdrv%\bin\unpack.bat %srcdrv%\lib\joinlib.%arcext%
  141. if not "%unpackerr%"=="" %0 : _error extracting '%srcdrv%\lib\joinlib.%arcext%'
  142. :_nojoin
  143.  
  144. if exist %ramdrv%\net\ndishlp.sys goto _mscl1
  145. if not exist %ramdrv%\net\ndishlp.sys call %ramdrv%\bin\unpack.bat %srcdrv%\lib\msclient.%arcext%
  146. if not "%unpackerr%"=="" goto _abort
  147. :_mscl1
  148.  
  149. if not "%p_nicmode%"=="4" goto _norm
  150. set pci0=%p_nic%
  151. goto _pciok
  152. :_norm
  153. set pci0=
  154. if not exist %srcdrv%\lib\ndis\*.%arcext% goto _nondis
  155. if not exist %ramdrv%\etc\_msnet.pci goto _bldnic
  156. @rem if not exist %ramdrv%\etc\_msnet.nic goto _bldnic
  157. if not exist %ramdrv%\etc\_msnet.crc goto _pre2
  158. if not exist %ramdrv%\bin\crc32.com goto _bldnic
  159. dir %srcdrv%\lib\ndis\*.%arcext% >%tmp%\_msnet.tmp
  160. tfind "%arcext%" %tmp%\_msnet.tmp >%tmp%\_msnet.tm2
  161. set w_crc=
  162. type %ramdrv%\etc\_msnet.crc | lmod /L1 set w_crc=[$2] >%tmp%\_msnet.bat
  163. call %tmp%\_msnet.bat
  164. echo MSNET: Driver index CRC32 is %w_crc%, checking...
  165. crc32 %tmp%\_msnet.tm2 %w_crc%
  166. if errorlevel 1 if not "%p_nonicbld%"=="1" goto _bldnic
  167. :_pre2
  168. echo MSNET: Using pre-built driver index from drive %srcdrv%
  169. if exist %ramdrv%\etc\_msnet.nic copy %ramdrv%\etc\_msnet.nic %tmp%
  170. if exist %ramdrv%\etc\_msnet.pci copy %ramdrv%\etc\_msnet.pci %tmp%
  171. if not exist %tmp%\_msnet.* goto _abort
  172. @rem goto _nic2
  173. if not exist %tmp%\_msnet.nic call %ramdrv%\bin\repci.bat %ramdrv%\etc\_msnet.pci %tmp%\_msnet.pci %tmp%\_msnet.nic
  174. @rem :_norm2
  175. if not exist %tmp%\_msnet.nic goto _bldnic
  176. if not exist %tmp%\_msnet.pci goto _bldnic
  177. goto _nic2
  178. :_bldnic
  179. echo MSNET: Building driver list from plug-ins
  180. echo ; This file is used to manual>%tmp%\_msnet.nic
  181. echo ; select a network driver>>%tmp%\_msnet.nic
  182. echo :_ndis "Select Network driver..." [x]>>%tmp%\_msnet.nic
  183. echo ; PCI map file (build from ndis.pci files)>%tmp%\_msnet.pci
  184. for %%i in (%srcdrv%\lib\ndis\*.%arcext%) do call %0 : _addnic %%i
  185. call %ramdrv%\bin\repci.bat %tmp%\_msnet.pci %tmp%\_msnet.pci %tmp%\_msnet.nic
  186. echo MSNET: Generating 32 bits CRC
  187. dir %srcdrv%\lib\ndis\*.%arcext% >%tmp%\_msnet.tmp
  188. tfind "%arcext%" %tmp%\_msnet.tmp >%tmp%\_msnet.tm2
  189. crc32 %tmp%\_msnet.tm2 >%tmp%\_msnet.crc
  190. if "%p_nonicsav%"=="1" goto _gddjkl
  191. if not exist %ramdrv%\bin\ettool.com goto _savdrv
  192. %ramdrv%\bin\ettool.com -e -s
  193. if errorlevel 255 goto _abort
  194. if errorlevel 1 goto _oncd2
  195. goto _savdrv
  196. :_oncd2
  197. echo MSNET: Booted from CD-Rom, where to put pre-built index?
  198. wbat box @%0:w_ramdrv
  199. if errorlevel 4 goto _nic2
  200. if errorlevel 1 set wbat=%ramdrv%
  201. if errorlevel 2 set wbat=a:
  202. if errorlevel 3 set wbat=b:
  203. :_oncd3
  204. echo MSNET: Copying to %wbat%
  205. if not exist %wbat%\etc\*.* mkdir %wbat%\etc
  206. :_dummy85
  207. for %%i in (%ramdrv%\etc\_msnet.*) do if exist %%i del %%i >nul
  208. copy %tmp%\_msnet.pci %ramdrv%\etc
  209. copy %tmp%\_msnet.crc %ramdrv%\etc
  210. @rem copy %tmp%\_msnet.nic %wbat%\etc
  211. copy %tmp%\_msnet.pci %wbat%\etc
  212. copy %tmp%\_msnet.crc %wbat%\etc
  213. goto _nic2
  214. :_savdrv
  215. echo MSNET: About to copying driver index to %srcdrv% for faster boot next time
  216. echo MSNET: Skip this by hitting [Cancel] in the write protection dialog
  217. set t_out=1
  218. call drd.bat %srcdrv%
  219. if errorlevel 1 set t_out=0
  220. wbat box @%0:w_wprot #1,%t_out%
  221. set t_out=
  222. if errorlevel 2 goto _nic2
  223. if not exist %srcdrv%\etc\*.* mkdir %srcdrv%\etc
  224. :_dummy43
  225. for %%i in (%srcdrv%\etc\_msnet.*) do if exist %%i del %%i >nul
  226. :_gddjkl
  227. for %%i in (%ramdrv%\etc\_msnet.*) do if exist %%i del %%i >nul
  228. @rem copy %tmp%\_msnet.nic %ramdrv%\etc
  229. copy %tmp%\_msnet.pci %ramdrv%\etc
  230. copy %tmp%\_msnet.crc %ramdrv%\etc
  231.  
  232. if "%p_nonicsav%"=="1" goto _nic2
  233. copy %tmp%\_msnet.pci %srcdrv%\etc
  234. copy %tmp%\_msnet.crc %srcdrv%\etc
  235. :_nic2
  236. set pci0=
  237. type %tmp%\_msnet.nic | lmod /L1 set wbat=[$1]>%tmp%\_msnet.bat
  238. set wbat=
  239. call %tmp%\_msnet.bat
  240. if not "%wbat%"=="" goto _1nicok
  241. echo MSNET: No network driver(s) found...
  242. goto _abort
  243. :_1nicok
  244. type %tmp%\_msnet.nic | lmod /L2 set wbat=[$1]>%tmp%\_msnet.bat
  245. set wbat=
  246. call %tmp%\_msnet.bat
  247. if not "%wbat%"=="" goto _2nicok
  248. type %tmp%\_msnet.nic | lmod /L1 set wbat=[$1]>%tmp%\_msnet.bat
  249. set wbat=
  250. call %tmp%\_msnet.bat
  251. echo MSNET: Auto selecting the only driver found (%wbat%)
  252. set pci0=%wbat%
  253. set wbat=
  254. goto _pciok
  255. :_2nicok
  256. if "%p_nicmode%"=="2" goto _auto
  257. if "%p_nicmode%"=="3" goto _manual
  258. :_nicprompt
  259. echo :w_auto "Auto detect PCI adapter?" [x]>%tmp%\_msnet.tmp
  260. echo .                                     (~press any key~: #? sec.)>>%tmp%\_msnet.tmp
  261. if not exist %tmp%\_msnet.pci goto _nopci
  262. echo [ Auto ]    Autodetect your PCI network adapter.>>%tmp%\_msnet.tmp
  263. echo.>>%tmp%\_msnet.tmp
  264. :_nopci
  265. if not exist %tmp%\_msnet.nic goto _noman
  266. echo [ Manual  ] Manual select your network adapter from a list.>>%tmp%\_msnet.tmp
  267. echo .           Use this for PCMCIA and ISA based adapters.>>%tmp%\_msnet.tmp
  268. echo.>>%tmp%\_msnet.tmp
  269. :_noman
  270. if not exist %ramdrv%\bin\ettool.com goto _rebuild
  271. %ramdrv%\bin\ettool.com -e -s
  272. if errorlevel 255 goto _abort
  273. if errorlevel 1 goto _oncd1
  274. goto _rebuild
  275. :_oncd1
  276. :_rebuild
  277. echo [ Rebuild ] Update the pre-built driver list on drive %srcdrv%.>>%tmp%\_msnet.tmp
  278. echo .           Use this if you have added/deleted some driver>>%tmp%\_msnet.tmp
  279. echo .           plug-in files.>>%tmp%\_msnet.tmp
  280. echo.>>%tmp%\_msnet.tmp
  281. :_norebld
  282. echo [? Back ]    Go back>>%tmp%\_msnet.tmp
  283. call w.bat box @%tmp%\_msnet.tmp:w_auto #1,%p_timeout%
  284. if errorlevel 100 goto _nmback
  285. if "%wbat%"=="Auto" goto _auto
  286. if "%wbat%"=="Manual" goto _manual
  287. if "%wbat%"=="Rebuild" goto _bldnic
  288. echo MSNET: w_auto value "%wbat%" not found
  289. goto _abort
  290. :_nmback
  291. if not exist %ramdrv%\etc\profile\*.pro goto _end
  292. goto _start
  293. :_auto
  294. echo MSNET: PCI Network adapter detection...
  295. :_dumdim1
  296. for %%i in (0 1 2 3 4) do set pci%%i=
  297. if exist %ramdrv%\bin\getpci.exe if exist %ramdrv%\bin\repci.bat goto _getpci
  298. if exist %ramdrv%\bin\pciscan.exe goto _pciscan
  299. goto _manual
  300. :_getpci
  301. call repci.bat : _pnp %tmp%\_msnet.pci
  302. goto _pcipnp
  303. :_pciscan
  304. pciscan.exe -s -u -d -x %tmp%\_msnet.pci
  305. if errorlevel 1 goto _pcifailed
  306. rem Workaround for DrDos
  307. echo %pci0% * > %tmp%\_msnet.bak
  308. lmod @set _msnet=[$1]< %tmp%\_msnet.bak > %tmp%\_msnet.bat
  309. call %tmp%\_msnet.bat
  310. if not "%_msnet%"=="" if not "%_msnet%"=="*" goto _pciok
  311. if not exist %ramdrv%\bin\doenable.bat goto _tryisa
  312. pciscan.exe -v | xgrep -s "[:s][:x]{4}[:s]" > %tmp%\_msnet.dev
  313. tfind /e "cardbus" < %tmp%\_msnet.dev > nul
  314. if errorlevel 1 goto _cardbus
  315. tfind /e "pcmcia" < %tmp%\_msnet.dev > nul
  316. if errorlevel 1 goto _cardbus
  317. goto _tryisa
  318. :_cardbus
  319. call %ramdrv%\bin\doenable.bat
  320. del %ramdrv%\bin\doenable.bat > nul
  321. tfind "e100bodi" < %tmp%\_msnet.pci > nul
  322. if errorlevel 1 goto _pciscan
  323. tfind /v "ce100b32" < %tmp%\_msnet.pci > %tmp%\_msnet.tmp
  324. type %tmp%\_msnet.tmp > %tmp%\_msnet.pci
  325. goto _pciscan
  326. :_tryisa
  327. if "%p_noautoisa%"=="1" goto _0isa
  328. tfind "dev=" < %tmp%\_msnet.pci | tfind /e "BAD " > nul
  329. if errorlevel 2 goto _0isa
  330. if errorlevel 1 goto _1isa
  331. goto _0isa
  332. :_1isa
  333. tfind "=" < %tmp%\_msnet.pci > %tmp%\_msnet.bak
  334. if exist %tmp%\_msnet.tmp del %tmp%\_msnet.tmp > nul
  335. :_isalop
  336. lmod [] < %tmp%\_msnet.bak >> %tmp%\_msnet.tmp
  337. tfind "dev=" < %tmp%\_msnet.tmp | tfind /e "BAD " > nul
  338. if errorlevel 1 goto _isaloop
  339. linex 2- < %tmp%\_msnet.bak > %tmp%\_msnet.dum
  340. type %tmp%\_msnet.dum > %tmp%\_msnet.bak
  341. goto _isalop
  342. :_isaloop
  343. tfind "dev=" < %tmp%\_msnet.tmp | lmod [] | tfind /e "BAD " > nul
  344. if errorlevel 1 goto _okisa
  345. linex 2- < %tmp%\_msnet.tmp > %tmp%\_msnet.bak
  346. type %tmp%\_msnet.bak > %tmp%\_msnet.tmp
  347. goto _isaloop
  348. :_okisa
  349. tfind "ret=" < %tmp%\_msnet.tmp | lmod set wbat=[$2]> %tmp%\_msnet.bat
  350. set wbat=
  351. call %tmp%\_msnet.bat
  352. if "%wbat%"=="" goto _0isa
  353. echo MSNET: No PCI match: Auto selecting single non-PCI driver (%wbat%)
  354. set pci0=%wbat%
  355. set wbat=
  356. goto _pciok
  357. :_0isa
  358. echo MSNET: PCI detection has not found a listed PCI adapter. Switching to manual!
  359. @rem pause
  360. goto _manual
  361. :_pcifailed
  362. :_dumdim2
  363. if exist %ramdrv%\bin\doenable.bat call %ramdrv%\bin\doenable.bat
  364. if exist %ramdrv%\bin\doenable.bat del %ramdrv%\bin\doenable.bat >nul
  365. echo MSNET: PCI detection has failed, Switching to manual!
  366. :_manual
  367. tfind /e ":_ndis" <%tmp%\_msnet.nic >nul
  368. if errorlevel 1 goto _sgshsj
  369. echo :_ndis "Select Network driver..." [x]>%tmp%\_msnet.tmp
  370. type %tmp%\_msnet.nic >>%tmp%\_msnet.tmp
  371. type %tmp%\_msnet.tmp >%tmp%\_msnet.nic
  372. del %tmp%\_msnet.tmp >nul
  373. :_sgshsj
  374. type %tmp%\_msnet.nic | lmod /L* [1,76] >>%tmp%\_msnet.tmp
  375. call w.bat list @%tmp%\_msnet.tmp:_ndis
  376. if "%wbat%"=="" goto _nicprompt
  377. echo %wbat% | lmod set pci0=[$1]>%tmp%\_msnet.bat
  378. call %tmp%\_msnet.bat
  379. set wbat=
  380.  
  381. :_pciok
  382. if "%pci1%"=="" goto _single
  383. echo MSNET: Multiple network adapter detected, must select one to use.
  384. echo :_pcix " Please select which adapter to use " [x]>>%tmp%\_msnet.tmp
  385. if "%pci0%"=="" goto _pcix0
  386. echo %pci0%|lmod /L1 Adapter [$1] Slot [$2] Bus [$3] Device [$4] >>%tmp%\_msnet.tmp
  387. :_pcix0
  388. if "%pci1%"=="" goto _pcix1
  389. echo %pci1%|lmod /L1 Adapter [$1] Slot [$2] Bus [$3] Device [$4] >>%tmp%\_msnet.tmp
  390. :_pcix1
  391. if "%pci2%"=="" goto _pcix2
  392. echo %pci2%|lmod /L1 Adapter [$1] Slot [$2] Bus [$3] Device [$4] >>%tmp%\_msnet.tmp
  393. :_pcix2
  394. if "%pci3%"=="" goto _pcix3
  395. echo %pci3%|lmod /L1 Adapter [$1] Slot [$2] Bus [$3] Device [$4] >>%tmp%\_msnet.tmp
  396. :_pcix3
  397. if "%pci4%"=="" goto _pcix4
  398. echo %pci4%|lmod /L1 Adapter [$1] Slot [$2] Bus [$3] Device [$4] >>%tmp%\_msnet.tmp
  399. :_pcix4
  400. call w.bat list @%tmp%\_msnet.tmp:_pcix #1,%p_timeout%
  401. if errorlevel 100 goto _nicprompt
  402. echo %wbat%|lmod /L1 set p_nic=[$2]>%tmp%\_msnet.bat
  403. echo %wbat%|lmod /L1 set p_mnic=[$4] [$6] [$8]>>%tmp%\_msnet.bat
  404. for %%i in (0 1 2 3 4) do set pci%%i=
  405. call %tmp%\_msnet.bat
  406. if not "%p_nic%"=="" goto _single2
  407. echo MSNET: p_nic should not be empty at this point!
  408. goto _abort
  409. :_single
  410. echo %pci0%| lmod /L1 set p_nic=[$1]>%tmp%\_msnet.bat
  411. call %tmp%\_msnet.bat
  412. set pci0=
  413. :_single2
  414. echo MSNET: Extracting driver file "%p_nic%"
  415. if not exist %ramdrv%\lib\ndis\%p_nic%.%arcext% goto _fromsrc
  416. extract /y /l %ramdrv%\net\ /e %ramdrv%\lib\ndis\%p_nic%.%arcext%
  417. if errorlevel 1 if not errorlevel 95 goto _abort
  418. if not exist %ramdrv%\net\ndishlp.sys call %ramdrv%\bin\unpack.bat %srcdrv%\lib\msclient.%arcext%
  419. if not "%unpackerr%"=="" goto _abort
  420. goto _unpok
  421. :_fromsrc
  422. extract /y /l %ramdrv%\net\ /e %srcdrv%\lib\ndis\%p_nic%.%arcext%
  423. if errorlevel 1 if not errorlevel 95 goto _abort
  424. :_unpok
  425.  
  426. if not exist %ramdrv%\net\autorun.bat goto _noautorun
  427. call %ramdrv%\net\autorun.bat
  428. del %ramdrv%\net\autorun.bat
  429. :_noautorun
  430. goto _nicok
  431.  
  432. :_addnic
  433. if exist %tmp%\ndis.isa del %tmp%\ndis.isa
  434. if exist %tmp%\ndis.pci del %tmp%\ndis.pci
  435. if exist %tmp%\ndis.txt del %tmp%\ndis.txt
  436. extract /y /l %tmp%\ /e %3 ndis.*
  437. if errorlevel 1 if not errorlevel 95 goto _abort
  438. if not exist %tmp%\ndis.txt goto _ndistxt
  439. type %tmp%\ndis.txt >>%tmp%\_msnet.nic
  440. :_ndistxt
  441. if not exist %tmp%\ndis.pci goto _ndispci
  442. type %tmp%\ndis.pci >>%tmp%\_msnet.pci
  443. :_ndispci
  444. if not exist %tmp%\ndis.isa goto _ndisisa
  445. type %tmp%\ndis.isa >>%tmp%\_msnet.pci
  446. :_ndisisa
  447. if exist %tmp%\ndis.isa del %tmp%\ndis.isa
  448. if exist %tmp%\ndis.pci del %tmp%\ndis.pci
  449. if exist %tmp%\ndis.txt del %tmp%\ndis.txt
  450. goto _eof
  451. :_nondis
  452. echo MSNET: No driver files found on %srcdrv% (%srcdrv%\lib\ndis\*.%arcext%)
  453. goto _abort
  454.  
  455. :_nicok
  456.  
  457. set w_netcard=
  458. if exist %ramdrv%\net\%p_nic%.dos set w_netcard=%p_nic%.dos
  459. if exist %ramdrv%\net\%p_nic%.exe set w_netcard=%p_nic%.exe
  460. if not "%w_netcard%"=="" goto _drvok
  461. echo MSNET: No driver found, %p_nic%.dos or %p_nic%.exe
  462. goto _abort
  463. :_drvok
  464. if exist %ramdrv%\net\%p_nic%.ini goto _iniok
  465. echo MSNET: Missing %p_nic%.ini
  466. goto _abort
  467. :_iniok
  468. echo ; Protocol.ini generated by msnet.bat>%ramdrv%\net\protocol.ini
  469. echo [network.setup]>>%ramdrv%\net\protocol.ini
  470. echo version=0x3110>>%ramdrv%\net\protocol.ini
  471. echo netcard=nu2$nic,1,NU2$NIC,1>>%ramdrv%\net\protocol.ini
  472.  
  473. if "%p_prot%"=="" goto _sprot
  474. if "%p_prot%"=="msnetb" goto _protdone
  475. if exist %srcdrv%\lib\%p_prot%.%arcext% goto _protdone
  476. echo MSNET: Could not find needed file %srcdrv%\lib\%p_prot%.%arcext%...
  477. echo.
  478. @rem pause
  479. :_sprot
  480. echo :_prot "Select protocol">%tmp%\_msnet.tmp
  481. if not exist %srcdrv%\lib\mstcp.%arcext% goto _nomstcp
  482. echo TCP/IP>>%tmp%\_msnet.tmp
  483. :_nomstcp
  484. if not exist %srcdrv%\lib\msnwlink.%arcext% goto _nonwlink
  485. echo NwLink (IPX/SPX)>>%tmp%\_msnet.tmp
  486. :_nonwlink
  487. echo Netbeui>>%tmp%\_msnet.tmp
  488. type %tmp%\_msnet.tmp | lmod /L2 set wbat=[$1]>%tmp%\_msnet.bat
  489. set wbat=
  490. call %tmp%\_msnet.bat
  491. if not "%wbat%"=="" goto _protok
  492. echo MSNET: No protocol found...
  493. goto _abort
  494. :_protok
  495. type %tmp%\_msnet.tmp | lmod /L3 set wbat=[]>%tmp%\_msnet.bat
  496. set wbat=
  497. call %tmp%\_msnet.bat
  498. if not "%wbat%"=="" goto _protlist
  499. type %tmp%\_msnet.tmp | lmod /L2 set wbat=[]>%tmp%\_msnet.bat
  500. set wbat=
  501. call %tmp%\_msnet.bat
  502. echo MSNET: Only one protocol found, no need for user to select...
  503. goto _protcmp
  504. :_protlist
  505. call w.bat list @%tmp%\_msnet.tmp:_prot #1,%p_timeout%
  506. if "%wbat%"=="" goto _nicprompt
  507. :_protcmp
  508. set p_prot=
  509. if "%wbat%"=="" goto _protsele
  510. echo %wbat% | lmod set wbat=[$1][$2][$3][$4][$5][$6][$7][$8][$9][$10]>%tmp%\_msnet.bat
  511. call %tmp%\_msnet.bat
  512. if "%wbat%"=="TCP/IP" set p_prot=mstcp
  513. if "%wbat%"=="NwLink(IPX/SPX)" set p_prot=msnwlink
  514. if "%wbat%"=="Netbeui" set p_prot=msnetb
  515. if not "%p_prot%"=="" goto _protdone
  516. :_protsele
  517. echo MSNET: Protocol selection error...
  518. goto _abort
  519. :_protdone
  520.  
  521. echo MSNET: Using "%p_prot%" protocol
  522. if not "%p_prot%"=="mstcp" goto _notcp
  523. if not "%p_tcpwin%"=="1" goto _tcpwin
  524. if "%p_dhcp%"=="1" goto _notcp
  525. if "%p_ip%"=="" goto _tcpwin
  526. if "%p_subnet%"=="" goto _tcpwin
  527. goto _notcp
  528. :_tcpwin
  529. set wcb1=%p_dhcp%
  530. set wcb2=%p_pkt%
  531. call w.bat box @%0:w_tcp #1,%p_timeout%
  532. set p_dhcp=%wcb1%
  533. set p_pkt=%wcb2%
  534. if errorlevel 3 goto _sprot
  535. if errorlevel 2 goto _end
  536. :_notcp
  537.  
  538. if "%p_mname%"=="" goto _newname
  539. echo %p_mname%|lmod set tmachn=[1,3]>%tmp%\_msnet.bat
  540. call %tmp%\_msnet.bat
  541. if "%tmachn%"=="PC-" goto _newname
  542. goto _nameok
  543. :_newname
  544. echo.|time|lmod /L1 /S;:,.apm set p_mname=PC-[$!-2][$!-1][$!]>%tmp%\_msnet.bat
  545. call %tmp%\_msnet.bat
  546. del %tmp%\_msnet.bat
  547. :_nameok
  548. set tmachn=
  549.  
  550. if "%p_wrkgrp%"=="" set p_wrkgrp=workgroup
  551. if "%p_idwin%"=="1" goto _nobox
  552. :_save
  553. set wcb1=%w_pini%
  554. set wcb2=%w_sini%
  555. set wcb3=%w_elmhost%
  556. if not "%p_user%"=="" call w.bat box @%0:w_param #1,%p_timeout%
  557. if "%p_user%"=="" call w.bat box @%0:w_param
  558. set w_pini=%wcb1%
  559. set w_sini=%wcb2%
  560. set w_elmhost=%wcb3%
  561. @if not "%w_pass%"=="" set w_passwd=%w_pass%
  562. @if not "%w_pass%"=="" set w_pass=
  563. if errorlevel 5 goto _sprot
  564. if errorlevel 4 goto _end
  565. if errorlevel 3 goto _help
  566. if errorlevel 2 goto _savpro
  567. :_nobox
  568. if "%p_wrkgrp%"=="" set p_wrkgrp=workgroup
  569. if "%p_user%"=="" set p_user=none
  570. :_nopasswd
  571. if not "%p_prot%"=="mstcp" goto _skipip1
  572.  
  573. if exist %ramdrv%\net\tcpdrv.dos goto _tcpdrv1
  574. call %ramdrv%\bin\unpack.bat %srcdrv%\lib\mstcp.%arcext%
  575. if not "%unpackerr%"=="" goto _abort
  576. :_tcpdrv1
  577. if not exist %ramdrv%\etc\lmhosts goto _g22w
  578. type %ramdrv%\etc\lmhosts >%ramdrv%\net\lmhosts
  579. :_g22w
  580. if not exist %ramdrv%\etc\hosts goto _g11w
  581. type %ramdrv%\etc\hosts >%ramdrv%\net\hosts
  582. :_g11w
  583.  
  584. echo transport=tcpip,TCPIP>>%ramdrv%\net\protocol.ini
  585. echo lana0=nu2$nic,1,tcpip>>%ramdrv%\net\protocol.ini
  586. echo.>>%ramdrv%\net\protocol.ini
  587. echo [tcpip]>>%ramdrv%\net\protocol.ini
  588. if not "%p_dhcp%"=="1" goto _nodhcp
  589. echo @if "%%debug%%"=="" echo off>%ramdrv%\net\ipconfig.bat
  590. echo ipconfg.exe %ramdrv%\net>>%ramdrv%\net\ipconfig.bat
  591. :_nodhcp
  592.  
  593. if "%p_dhcp%"=="1" goto _dhcp1
  594.  
  595. if not "%p_ip%"=="" goto _ipaddr
  596. echo MSNET: IP address cannot be empty, when DHCP is enabled
  597. goto _abort
  598.  
  599. :_ipaddr
  600. echo %p_ip% | lmod /S. set wbat=[$1] [$2] [$3] [$4]>%tmp%\_msnet.bat
  601. if errorlevel 1 if not errorlevel 95 goto _abort
  602. call %tmp%\_msnet.bat
  603. echo ipaddress0=%wbat%>>%ramdrv%\net\protocol.ini
  604.  
  605. if not "%p_subnet%"=="" goto _subnt
  606. echo MSNET: Subnetmask cannot be empty, when DHCP is enabled
  607. goto _abort
  608.  
  609. :_subnt
  610. echo %p_subnet% | lmod /S. set wbat=[$1] [$2] [$3] [$4]>%tmp%\_msnet.bat
  611. if errorlevel 1 if not errorlevel 95 goto _abort
  612. call %tmp%\_msnet.bat
  613. echo subnetmask0=%wbat%>>%ramdrv%\net\protocol.ini
  614.  
  615. if "%p_gway%"=="" goto _nogatew
  616. echo %p_gway% | lmod /S. set wbat=[$1] [$2] [$3] [$4]>%tmp%\_msnet.bat
  617. if errorlevel 1 if not errorlevel 95 goto _abort
  618. call %tmp%\_msnet.bat
  619. echo defaultgateway0=%wbat%>>%ramdrv%\net\protocol.ini
  620. :_nogatew
  621.  
  622. if "%p_wins%"=="" goto _nowins
  623. echo %p_wins% | lmod /S. set wbat=[$1] [$2] [$3] [$4]>%tmp%\_msnet.bat
  624. if errorlevel 1 if not errorlevel 95 goto _abort
  625. call %tmp%\_msnet.bat
  626. echo wins_server0=%wbat%>>%ramdrv%\net\protocol.ini
  627. :_nowins
  628.  
  629. :_dhcp1
  630. echo NBSessions=6>>%ramdrv%\net\protocol.ini
  631. echo DriverName=TCPIP$>>%ramdrv%\net\protocol.ini
  632. echo BINDINGS=NU2$NIC>>%ramdrv%\net\protocol.ini
  633. echo LANABASE=0>>%ramdrv%\net\protocol.ini
  634.  
  635. if "%p_pkt%"=="1" goto _pkt
  636. inifile %ramdrv%\net\system.ini [network drivers] "transport=tcpdrv.dos,nemm.dos"
  637. if errorlevel 1 if not errorlevel 95 goto _abort
  638. goto _pktdone
  639. :_pkt
  640. inifile %ramdrv%\net\system.ini [network drivers] "transport=tcpdrv.dos,nemm.dos,dis_pkt.dos"
  641. if errorlevel 1 if not errorlevel 95 goto _abort
  642. :_pktdone
  643.  
  644. if "%p_dhcp%"=="1" inifile %ramdrv%\net\protocol.ini [tcpip] "DisableDHCP=0"
  645. if not "%p_dhcp%"=="1" inifile %ramdrv%\net\protocol.ini [tcpip] "DisableDHCP=1"
  646. if errorlevel 1 if not errorlevel 95 goto _abort
  647. :_skipip1
  648.  
  649. if not "%p_prot%"=="msnwlink" goto _skipnw1
  650. if exist %ramdrv%\net\nwlink.exe goto _nwlink1
  651. call %ramdrv%\bin\unpack.bat %srcdrv%\lib\msnwlink.%arcext%
  652. if not "%unpackerr%"=="" goto _abort
  653. :_nwlink1
  654. echo transport=nu2$nwlink,NU2$NWLINK>>%ramdrv%\net\protocol.ini
  655. echo transport=nu2$ndishlp,NU2$NDISHLP>>%ramdrv%\net\protocol.ini
  656. echo lana0=nu2$nic,1,nu2$nwlink>>%ramdrv%\net\protocol.ini
  657. echo lana1=nu2$nic,1,nu2$ndishlp>>%ramdrv%\net\protocol.ini
  658. echo.>>%ramdrv%\net\protocol.ini
  659. echo [NU2$NWLINK]>>%ramdrv%\net\protocol.ini
  660. echo FRAME=ETHERNET_802.2>>%ramdrv%\net\protocol.ini
  661. echo DriverName=nwlink$>>%ramdrv%\net\protocol.ini
  662. echo BINDINGS=NU2$NIC>>%ramdrv%\net\protocol.ini
  663. echo LANABASE=0>>%ramdrv%\net\protocol.ini
  664. echo.>>%ramdrv%\net\protocol.ini
  665. echo [protman]>>%ramdrv%\net\protocol.ini
  666. echo DriverName=PROTMAN$>>%ramdrv%\net\protocol.ini
  667. echo PRIORITY=NU2$NDISHLP>>%ramdrv%\net\protocol.ini
  668. echo.>>%ramdrv%\net\protocol.ini
  669. echo [NU2$NDISHLP]>>%ramdrv%\net\protocol.ini
  670. echo DriverName=ndishlp$>>%ramdrv%\net\protocol.ini
  671. echo BINDINGS=NU2$NIC>>%ramdrv%\net\protocol.ini
  672.  
  673. inifile %ramdrv%\net\system.ini [network drivers] "transport=ndishlp.sys"
  674. if errorlevel 1 if not errorlevel 95 goto _abort
  675. :_skipnw1
  676.  
  677. if not "%p_prot%"=="msnetb" goto _skipnb1
  678.  
  679. echo transport=nu2$ndishlp,NU2$NDISHLP>>%ramdrv%\net\protocol.ini
  680. echo transport=nu2$netbeui,NU2$NETBEUI>>%ramdrv%\net\protocol.ini
  681. echo lana0=nu2$nic,1,nu2$netbeui>>%ramdrv%\net\protocol.ini
  682. echo lana1=nu2$nic,1,nu2$ndishlp>>%ramdrv%\net\protocol.ini
  683. echo.>>%ramdrv%\net\protocol.ini
  684. echo [NU2$NETBEUI]>>%ramdrv%\net\protocol.ini
  685. echo NCBS=8>>%ramdrv%\net\protocol.ini
  686. echo SESSIONS=3>>%ramdrv%\net\protocol.ini
  687. echo DriverName=netbeui$>>%ramdrv%\net\protocol.ini
  688. echo BINDINGS=NU2$NIC>>%ramdrv%\net\protocol.ini
  689. echo LANABASE=0>>%ramdrv%\net\protocol.ini
  690. echo.>>%ramdrv%\net\protocol.ini
  691. echo [protman]>>%ramdrv%\net\protocol.ini
  692. echo DriverName=PROTMAN$>>%ramdrv%\net\protocol.ini
  693. echo PRIORITY=NU2$NDISHLP>>%ramdrv%\net\protocol.ini
  694. echo.>>%ramdrv%\net\protocol.ini
  695. echo [NU2$NDISHLP]>>%ramdrv%\net\protocol.ini
  696. echo DriverName=ndishlp$>>%ramdrv%\net\protocol.ini
  697. echo BINDINGS=NU2$NIC>>%ramdrv%\net\protocol.ini
  698.  
  699. inifile %ramdrv%\net\system.ini [network drivers] "transport=ndishlp.sys,*netbeui"
  700. if errorlevel 1 if not errorlevel 95 goto _abort
  701. :_skipnb1
  702.  
  703. if not "%p_prot%"=="mstcp" goto _nopkt2
  704. if not "%p_pkt%"=="1" goto _nopkt2
  705. echo.>>%ramdrv%\net\protocol.ini
  706. echo [pktdrv]>>%ramdrv%\net\protocol.ini
  707. echo DriverName=PKTDRV$>>%ramdrv%\net\protocol.ini
  708. echo BINDINGS=NU2$NIC>>%ramdrv%\net\protocol.ini
  709. echo intvec=0x60>>%ramdrv%\net\protocol.ini
  710. echo chainvec=0x66>>%ramdrv%\net\protocol.ini
  711. :_nopkt2
  712.  
  713. echo.>>%ramdrv%\net\protocol.ini
  714. echo [NU2$NIC]>>%ramdrv%\net\protocol.ini
  715. type %ramdrv%\net\%p_nic%.ini>>%ramdrv%\net\protocol.ini
  716.  
  717. if "%p_mnic%"=="" goto _nomnic
  718. xgrep -sy devnum %ramdrv%\net\%w_netcard% >nul
  719. if errorlevel 1 goto _0dvnm
  720. goto _busdev
  721. :_0dvnm
  722. echo MSNET: Adding slot number to protocol.ini
  723. :_sltxs
  724. if "%p_slot%"=="" goto _normslt
  725. if "%p_slot%"=="0" goto _nomnic
  726. echo %p_slot% | lmod slot=[$1]>>%ramdrv%\net\protocol.ini
  727. goto _nomnic
  728. :_normslt
  729. echo %p_mnic%|lmod /L1 slot=[$1]>>%ramdrv%\net\protocol.ini
  730. goto _nomnic
  731. :_busdev
  732. echo MSNET: Adding busnum and devnum to protocol.ini
  733. echo %p_mnic%|lmod /L1 busnum=[$2]>>%ramdrv%\net\protocol.ini
  734. echo %p_mnic%|lmod /L1 devnum=[$3]>>%ramdrv%\net\protocol.ini
  735. :_nomnic
  736. inifile %ramdrv%\net\system.ini [network] "username=%p_user%"
  737. if errorlevel 1 if not errorlevel 95 goto _abort
  738. inifile %ramdrv%\net\system.ini [network] "workgroup=%p_wrkgrp%"
  739. if errorlevel 1 if not errorlevel 95 goto _abort
  740. if "%p_ntdom%"=="" goto _lm0
  741. inifile %ramdrv%\net\system.ini [network] "lmlogon=1"
  742. inifile %ramdrv%\net\system.ini [network] "logondomain=%p_ntdom%"
  743. inifile %ramdrv%\net\system.ini [network] "preferredredir=full"
  744. if errorlevel 1 if not errorlevel 95 goto _abort
  745. goto _lmdone
  746. :_lm0
  747. inifile %ramdrv%\net\system.ini [network] "lmlogon=0"
  748. inifile %ramdrv%\net\system.ini [network] "preferredredir=basic"
  749. if errorlevel 1 if not errorlevel 95 goto _abort
  750. :_lmdone
  751.  
  752. inifile %ramdrv%\net\system.ini [network] "computername=%p_mname%"
  753. if errorlevel 1 if not errorlevel 95 goto _abort
  754. inifile %ramdrv%\net\system.ini [network] "lanroot=%ramdrv%\net"
  755. if errorlevel 1 if not errorlevel 95 goto _abort
  756. inifile %ramdrv%\net\system.ini [network drivers] "netcard=%w_netcard%"
  757. if errorlevel 1 if not errorlevel 95 goto _abort
  758. inifile %ramdrv%\net\system.ini [network drivers] "devdir=%ramdrv%\net"
  759. if errorlevel 1 if not errorlevel 95 goto _abort
  760. if not "%p_user%"=="" inifile %ramdrv%\net\system.ini [Password Lists] "%p_user%=%ramdrv%\net\%p_user%.pwl"
  761. if errorlevel 1 if not errorlevel 95 goto _abort
  762. inifile %ramdrv%\net\system.ini [Password Lists] "*Shares=%ramdrv%\net\shares.pwl"
  763. if errorlevel 1 if not errorlevel 95 goto _abort
  764.  
  765. if "%w_pini%"=="1" goto _editsome
  766. if "%w_sini%"=="1" goto _editsome
  767. if "%w_elmhost%"=="1" goto _editsome
  768. goto _editnon
  769. :_editsome
  770. if exist %ramdrv%\bin\edit.com goto _editok
  771. echo MSNET: Cannot edit the file you marked, %ramdrv%\bin\edit.com does not exist...
  772. @rem pause
  773. goto _editnon
  774. :_editok
  775. if "%w_pini%"=="1" edit %ramdrv%\net\protocol.ini
  776. if "%w_sini%"=="1" edit %ramdrv%\net\system.ini
  777. if "%w_elmhost%"=="1" edit %ramdrv%\net\lmhosts
  778. :_editnon
  779.  
  780. if "%p_slow%"=="" goto _noslow
  781. if exist %ramdrv%\bin\slowdown.com %ramdrv%\bin\slowdown /d /v /p:%p_slow%
  782. :_noslow
  783.  
  784. if exist %ramdrv%\lib\ndis\*.%arcext% del %ramdrv%\lib\ndis\*.%arcext%
  785. set path=%ramdrv%\net;%path%
  786. %ramdrv%
  787. if "%p_pause%"=="1" pause
  788. cd \net
  789.  
  790. if not "%p_prot%"=="mstcp" goto _skipip2
  791. if .%p_netlow%.==.1. if "%os%"=="fd" goto _netfd
  792. echo MSNET: Network initializing
  793. net init
  794. if errorlevel 1 if not errorlevel 95 goto _abort
  795. echo MSNET: loading NETBIND
  796. netbind
  797. if errorlevel 1 if not errorlevel 95 goto _abort
  798. echo MSNET: loading high UMB
  799. %ldh% umb
  800. if errorlevel 1 if not errorlevel 95 goto _abort
  801. echo MSNET: loading high TCPTSR
  802. %ldh% tcptsr
  803. if errorlevel 1 if not errorlevel 95 goto _abort
  804. goto _netfd2
  805.  
  806. :_netfd
  807. echo MSNET: Network initializing (freedos - loading low)
  808. loadhigh /L: net init
  809. if errorlevel 1 if not errorlevel 95 goto _abort
  810. echo MSNET: loading NETBIND
  811. netbind
  812. if errorlevel 1 if not errorlevel 95 goto _abort
  813. echo MSNET: loading high UMB
  814. %ldh% umb
  815. if errorlevel 1 if not errorlevel 95 goto _abort
  816. echo MSNET: loading TCPTSR
  817. tcptsr
  818. if errorlevel 1 if not errorlevel 95 goto _abort
  819. :_netfd2
  820.  
  821. if not "%p_dhcp%"=="1" goto _dhcp2
  822. %ramdrv%\net\ipconfg.exe %ramdrv%\net | tfind "Domainname" >%tmp%\_msnet.tmp
  823. type %tmp%\_msnet.tmp | lmod /S: set p_domain=[$2] >%tmp%\_msnet.bat
  824. %ramdrv%\net\ipconfg.exe %ramdrv%\net | tfind "Primary DNS Server" >%tmp%\_msnet.tmp
  825. type %tmp%\_msnet.tmp | lmod /S: set p_dns=[$4] >>%tmp%\_msnet.bat
  826. call %tmp%\_msnet.bat
  827. :_dhcp2
  828.  
  829. if "%p_dns%"=="" goto _nodns
  830. echo %p_dns% | lmod /S. set wbat=[$1] [$2] [$3] [$4]>%tmp%\_msnet.bat
  831. if errorlevel 1 if not errorlevel 95 goto _abort
  832. call %tmp%\_msnet.bat
  833. inifile %ramdrv%\net\tcputils.ini [dnr] "nameserver0=%wbat%"
  834. if errorlevel 1 if not errorlevel 95 goto _abort
  835. :_nodns
  836.  
  837. if "%p_domain%"=="" goto _nodomsuf
  838. if "%p_dhcp%"=="1" goto _fsdget
  839. echo echo .  DNS suffix     : %p_domain% >>%ramdrv%\net\ipconfig.bat
  840. :_fsdget
  841. inifile %ramdrv%\net\tcputils.ini [dnr] "domain=%p_domain%"
  842. if errorlevel 1 if not errorlevel 95 goto _abort
  843. :_nodomsuf
  844.  
  845. echo MSNET: Creating WATTCP.CFG file
  846. echo # Barts Network boot disk>%ramdrv%\net\wattcp.cfg
  847. echo # Waterloo TCP/IP configuration file>>%ramdrv%\net\wattcp.cfg
  848. echo print = "Barts Network boot disk - Waterloo TCP/IP setup">>%ramdrv%\net\wattcp.cfg
  849. if "%p_dhcp%"=="1" goto _watdhcp
  850. echo my_ip = %p_ip%>>%ramdrv%\net\wattcp.cfg
  851. goto _watdhc2
  852. :_watdhcp
  853. echo my_ip = dhcp>>%ramdrv%\net\wattcp.cfg
  854. :_watdhc2
  855. echo hostname = %p_mname%>>%ramdrv%\net\wattcp.cfg
  856. echo netmask = %p_subnet%>>%ramdrv%\net\wattcp.cfg
  857. echo nameserver = %p_dns%>>%ramdrv%\net\wattcp.cfg
  858. echo gateway = %p_gway%>>%ramdrv%\net\wattcp.cfg
  859. echo domain_list = %p_domain%>>%ramdrv%\net\wattcp.cfg
  860. set wattcp.cfg=%ramdrv%\net
  861.  
  862. if "%p_dhcp%"=="1" goto _noipcfg
  863. echo @if "%%debug%%"=="" echo off >%ramdrv%\net\ipconfig.bat
  864. echo echo.>>%ramdrv%\net\ipconfig.bat
  865. echo echo IP configuration:>>%ramdrv%\net\ipconfig.bat
  866. echo echo .  Host Name............... : %p_mname%>>%ramdrv%\net\ipconfig.bat
  867. echo echo .  DNS Server.............. : %p_dns%>>%ramdrv%\net\ipconfig.bat
  868. echo echo .  Domain Suffix........... : %p_domain%>>%ramdrv%\net\ipconfig.bat
  869. if "%p_pkt%"=="1" goto _ippkt
  870. echo echo .  Packet Driver Interface. : No>>%ramdrv%\net\ipconfig.bat
  871. goto _ippkt2
  872. :_ippkt
  873. echo echo .  Packet Driver Interface. : Yes>>%ramdrv%\net\ipconfig.bat
  874. :_ippkt2
  875. echo echo.>>%ramdrv%\net\ipconfig.bat
  876. echo echo Adapter %p_nic%:>>%ramdrv%\net\ipconfig.bat
  877. echo echo .  IP Address.............. : %p_ip% >>%ramdrv%\net\ipconfig.bat
  878. echo echo .  Subnet Mask............. : %p_subnet% >>%ramdrv%\net\ipconfig.bat
  879. echo echo .  Default Gateway......... : %p_gway% >>%ramdrv%\net\ipconfig.bat
  880. :_noipcfg
  881.  
  882. echo MSNET: loading TINYRFC
  883. tinyrfc
  884. if errorlevel 1 if not errorlevel 95 goto _abort
  885. echo MSNET: loading NMTSR
  886. nmtsr
  887. if errorlevel 1 if not errorlevel 95 goto _abort
  888. echo MSNET: loading high EMSBFR
  889. %ldh% emsbfr
  890. if errorlevel 1 if not errorlevel 95 goto _abort
  891. if "%p_dhcp%"=="1" goto _dns2
  892. if "%p_dns%"=="" goto _nodns2
  893. :_dns2
  894. echo MSNET: loading DNR
  895. dnr.exe
  896. :_nodns2
  897. :_skipip2
  898.  
  899. if not "%p_prot%"=="msnwlink" goto _skipnw2
  900. net init
  901. if errorlevel 1 if not errorlevel 95 goto _abort
  902. echo MSNET: loading high NWLINK
  903. %ldh% nwlink.exe
  904. if errorlevel 1 if not errorlevel 95 goto _abort
  905. :_skipnw2
  906. echo MSNET: Starting network services
  907. net start workstation
  908. if errorlevel 1 if not errorlevel 95 goto _abort
  909. :_logon
  910. if exist %ramdrv%\bin\mac.bat call %ramdrv%\bin\mac.bat
  911. if "%macaddr%"=="" goto _noea
  912. if "%macaddr8%"=="" goto _noea1
  913. echo MSNET: Your MAC Address: %macaddr% (%macaddr8%)
  914. goto _noea
  915. :_noea1
  916. echo MSNET: Your MAC Address: %macaddr%
  917. :_noea
  918.  
  919. if not exist %ramdrv%\etc\halt.txt if not exist %ramdrv%\etc\stop.txt goto _ndelthe
  920. if "%ipaddr8%"=="" if "%macaddr8%"=="" goto _ndelthe
  921. if not "p_chkpc"=="1" if not "%macaddr8%"=="" if exist %srcdrv%\etc\%macaddr8%.no goto _hlthalt
  922. if not "p_chkpc"=="0" if not "%ipaddr8%"=="" if exist %srcdrv%\etc\%ipaddr8%.no goto _hlthalt
  923. if not "p_chkpc"=="1" if not "%macaddr8%"=="" if exist %srcdrv%\etc\%macaddr8%.yes goto _ndelthe
  924. if not "p_chkpc"=="0" if not "%ipaddr8%"=="" if exist %srcdrv%\etc\%ipaddr8%.yes goto _ndelthe
  925. if not "p_chkpc"=="1" if not "%macaddr8%"=="" if exist %srcdrv%\etc\%macaddr8%.___ goto _hltmac
  926. if not "p_chkpc"=="0" if not "%ipaddr8%"=="" if exist %srcdrv%\etc\%ipaddr8%.___ goto _hltip
  927. set t_out=1
  928. call drd.bat %srcdrv%
  929. if errorlevel 1 set t_out=0
  930. wbat box @%0:w_wprot #1,%t_out%
  931. set t_out=
  932. if errorlevel 2 %0 : _error Could not imprint MAC/IP on '%srcdrv%'
  933. if not exist %srcdrv%\etc\*.* mkdir %srcdrv%\etc >nul
  934. for %%i in (%srcdrv%\etc\*.___) do if exist %%i del %%i
  935. if exist %srcdrv%\etc\*.___ %0 : _error Could not delete '%srcdrv%\etc\*.___'
  936. if "%macaddr8%"=="" goto _noea21
  937. echo %macaddr8% >%tmp%\_msnet.bak
  938. tfind "z" <%tmp%\_msnet.bak >%srcdrv%\etc\%macaddr8%.___
  939. if not exist %srcdrv%\etc\%macaddr8%.___ %0 : _error Could not create '%srcdrv%\etc\%macaddr8%.___'
  940. :_noea21
  941. if "%ipaddr8%"=="" goto _noei21
  942. echo %ipaddr8% >%tmp%\_msnet.bak
  943. tfind "z" <%tmp%\_msnet.bak >%srcdrv%\etc\%ipaddr8%.___
  944. if not exist %srcdrv%\etc\%ipaddr8%.___ %0 : _error Could not create '%srcdrv%\etc\%ipaddr8%.___'
  945. :_noei21
  946. goto _ndelthe
  947. :_hltmac
  948. :_hltip
  949. if exist %ramdrv%\etc\halt.txt goto _hlthalt
  950. if exist %ramdrv%\etc\stop.txt goto _hltstop
  951. :_hlthalt
  952. call %ramdrv%\bin\halt.bat halt
  953. if exist %ramdrv%\halt.txt goto _end
  954. goto _end
  955. :_hltstop
  956. call %ramdrv%\bin\halt.bat stop
  957. if exist %ramdrv%\halt.txt goto _end
  958. if exist %ramdrv%\halt.txt goto _end
  959. :_ndelthe
  960. echo MSNET: Network logon as "%p_user%"
  961. if "%p_user%"=="*" goto _noprf1
  962. if "%p_user%"=="!" goto _noprf1
  963. if not "%p_user%"=="" net logon %p_user% %w_passwd% /yes /savepw:no
  964. if errorlevel 1 pause
  965. set PCNAME=%p_mname%
  966. set prompt=%p_user%@%p_mname% $p$g
  967. if exist %tmp%\_msnetx.bat del %tmp%\_msnetx.bat
  968. if not exist %ramdrv%\etc\autoexec.net goto _noautonet
  969. echo MSNET: %ramdrv%\etc\autoexec.net found
  970. type %ramdrv%\etc\autoexec.net >>%tmp%\_msnetx.bat
  971. :_noautonet
  972. if "%g_profile%"=="" goto _noprf1
  973. if not exist %ramdrv%\etc\profile\%g_profile%.net goto _noprf1
  974. type %ramdrv%\etc\profile\%g_profile%.net >>%tmp%\_msnetx.bat
  975. echo MSNET: %ramdrv%\etc\profile\%g_profile%.net found
  976. :_noprf1
  977. if not "%p_prot%"=="mstcp" goto _notlan
  978. echo.
  979. echo MSNET: Type "ipconfig" to view TCP/IP settings...
  980. if not exist %ramdrv%\etc\autoexec.net echo MSNET: Type "msnet" to connect a drive to a network share...
  981. goto _notlan
  982. :_notlan
  983. if "%g_profile%"=="" goto _no2prf1
  984. if not exist %ramdrv%\etc\profile\%g_profile%.bat goto _no2prf1
  985. type %ramdrv%\etc\profile\%g_profile%.bat >>%tmp%\_msnetx.bat
  986. echo MSNET: %srcdrv%\etc\profile\%g_profile%.bat found
  987. :_no2prf1
  988. if 1==1 goto _end
  989. :_savpro
  990. call w.bat box @%0:w_proname
  991. if errorlevel 2 goto _save
  992. if not exist %ramdrv%\etc\profile\%g_profile%.pro goto _savecfg
  993. call w.bat box @%0:w_pwrite
  994. if errorlevel 2 goto _save
  995. :_savecfg
  996. set wrb=%p_nicmode%
  997. set wcb1=%p_tcpwin%
  998. set wcb2=%p_idwin%
  999. set wcb3=%w_savepw%
  1000. call w.bat box @%0:w_savecfg
  1001. set p_nicmode=%wrb%
  1002. set p_tcpwin=%wcb1%
  1003. set p_idwin=%wcb2%
  1004. set w_savepw=%wcb3%
  1005. if errorlevel 2 goto _savpro
  1006. set t_out=1
  1007. call drd.bat %srcdrv%
  1008. if errorlevel 1 set t_out=0
  1009. wbat box @%0:w_wprot #1,%t_out%
  1010. set t_out=
  1011. if errorlevel 2 goto _save
  1012. echo MSNET: Saving profile "%g_profile%"
  1013. set | tfind /f1,2 "P_">%tmp%\_msnet.tmp
  1014. if not "%w_savepw%"=="1" goto _jhgsgq
  1015. echo W_PASSWD=%w_passwd%>>%tmp%\_msnet.tmp
  1016. :_jhgsgq
  1017. type %tmp%\_msnet.tmp | lmod /L* []>%tmp%\_msnet.bat
  1018.  
  1019. if not exist %srcdrv%\etc\*.* mkdir %srcdrv%\etc
  1020. if not exist %srcdrv%\etc\profile\*.* mkdir %srcdrv%\etc\profile
  1021. type %tmp%\_msnet.bat>%srcdrv%\etc\profile\%g_profile%.pro
  1022. type %tmp%\_msnet.bat>%ramdrv%\etc\profile\%g_profile%.pro
  1023. echo MSNET: Configuration saved to %ramdrv%\etc\profile\%g_profile%.pro
  1024. echo.
  1025. @rem pause
  1026. goto _save
  1027. :_help
  1028. wbat box @%0:w_help
  1029. goto _save
  1030.  
  1031. :_config2
  1032. echo MSNET: Network services already loaded, going "config"
  1033. :_config1
  1034. echo :w_config "MSNET config" [x]>%tmp%\_msnet.tmp
  1035. echo.>>%tmp%\_msnet.tmp
  1036. echo [ Global ]   Global settings, autoexec.net, lmhosts>>%tmp%\_msnet.tmp
  1037. echo.>>%tmp%\_msnet.tmp
  1038. echo [ Profile ]  Edit, delete profiles>>%tmp%\_msnet.tmp
  1039. echo.>>%tmp%\_msnet.tmp
  1040. if not exist protman$ goto _noprotm
  1041. echo [ Map ]      Connect drive to network share>>%tmp%\_msnet.tmp
  1042. echo.>>%tmp%\_msnet.tmp
  1043. echo [ Relogon ]  Logon as a different user>>%tmp%\_msnet.tmp
  1044. echo.>>%tmp%\_msnet.tmp
  1045. :_noprotm
  1046. echo [? Exit ]     Exit>>%tmp%\_msnet.tmp
  1047. call w.bat box @%tmp%\_msnet.tmp:w_config
  1048. if errorlevel 100 goto _end
  1049. if "%wbat%"=="Global" goto _chgglo
  1050. if "%wbat%"=="Profile" goto _chgpro
  1051. if "%wbat%"=="Map" goto _mapdrv
  1052. if "%wbat%"=="Relogon" goto _relogon
  1053. echo MSNET: w_config value "%wbat%" not found
  1054. goto _abort
  1055. :_mapdrv
  1056. if "%w_path%"=="" set w_path=\\server\share
  1057. call w.bat box @%0:w_map
  1058. if errorlevel 100 goto _config1
  1059. echo %w_drv% |lmod set w_drv=[$1 L]>%tmp%\_msnet.bat
  1060. echo %ramdrv% |lmod set ramdrv=[$1 L]>>%tmp%\_msnet.bat
  1061. call %tmp%\_msnet.bat
  1062. if "%w_drv%:"=="%ramdrv%" goto _baddrv
  1063. echo MSNET: Connecting drive %w_drv%: to %w_path%...
  1064. %ramdrv%\net\net use %w_drv%: %w_path% /savepw:no /yes
  1065. if errorlevel 1 if not errorlevel 95 goto _abort
  1066. if not "%wcb1%"=="1" goto _norec
  1067. set t_out=1
  1068. call drd.bat %srcdrv%
  1069. if errorlevel 1 set t_out=0
  1070. wbat box @%0:w_wprot #1,%t_out%
  1071. set t_out=
  1072. if errorlevel 2 goto _config1
  1073. echo MSNET: Adding mapping to %ramdrv%\etc\autoexec.net
  1074. if not exist %srcdrv%\etc\*.* mkdir %srcdrv%\etc
  1075. echo @echo Connecting drive %w_drv%: to %w_path%...>>%ramdrv%\etc\autoexec.net
  1076. echo @%ramdrv%\net\net use %w_drv%: %w_path% /savepw:no /yes>>%ramdrv%\etc\autoexec.net
  1077. echo @if errorlevel 1 pause>>%ramdrv%\etc\autoexec.net
  1078. :_dummy55
  1079. if exist %srcdrv%\etc\autoexec.net del %srcdrv%\etc\autoexec.net >nul
  1080. if exist %ramdrv%\etc\autoexec.net copy %ramdrv%\etc\autoexec.net %srcdrv%\etc\autoexec.net >nul
  1081. :_norec
  1082. goto _config1
  1083. :_baddrv
  1084. echo MSNET: You cannot use drive %w_drv%:, it's in use by the ramdrive...
  1085. echo.
  1086. @rem pause
  1087. goto _mapdrv
  1088. :_relogon
  1089. call w.bat box @%0:w_relogon
  1090. if errorlevel 100 goto _config1
  1091. echo MSNET: logging off
  1092. net logoff /yes
  1093. if errorlevel 1 if not errorlevel 95 goto _abort
  1094. goto _logon
  1095. :_chgpro
  1096. if exist %ramdrv%\etc\profile\*.pro goto _prosel
  1097. echo MSNET: No profiles found...
  1098. echo You can save to a profile using the save button in the identification dialog
  1099. echo.
  1100. @rem pause
  1101. goto _config1
  1102. :_prosel
  1103. echo :_profile " Select profile to change " >%tmp%\_msnet.tmp
  1104. if exist %tmp%\_msnet2.tmp del %tmp%\_msnet2.tmp
  1105. for %%i in (%ramdrv%\etc\profile\*.pro) do echo %%i >>%tmp%\_msnet2.tmp
  1106. type %tmp%\_msnet2.tmp | lmod /L* /B\. [$4] >%tmp%\_msnet.bak
  1107. if exist %tmp%\_msnet2.tmp del %tmp%\_msnet2.tmp
  1108. :_dummy70
  1109. type %tmp%\_msnet.bak >>%tmp%\_msnet.tmp
  1110. call w.bat list @%tmp%\_msnet.tmp:_profile
  1111. if errorlevel 100 goto _config1
  1112. set w_profile=%wbat%
  1113. :_edtpro
  1114. call w.bat box @%0:w_chgpro
  1115. if errorlevel 4 goto _config1
  1116. if errorlevel 3 goto _delpro
  1117. if errorlevel 2 goto _netpro
  1118. if errorlevel 1 goto _editpro
  1119. goto _save
  1120. :_editpro
  1121. edit %ramdrv%\etc\profile\%w_profile%.pro
  1122. :_dummy87
  1123. if exist %srcdrv%\etc\profile\%w_profile%.pro del %srcdrv%\etc\profile\%w_profile%.pro >nul
  1124. if exist %ramdrv%\etc\profile\%w_profile%.pro copy %ramdrv%\etc\profile\%w_profile%.pro %srcdrv%\etc\profile\%w_profile%.pro >nul
  1125. if exist %srcdrv%\etc\profile\%w_profile%.net del %srcdrv%\etc\profile\%w_profile%.net >nul
  1126. if exist %ramdrv%\etc\profile\%w_profile%.net copy %ramdrv%\etc\profile\%w_profile%.net %srcdrv%\etc\profile\%w_profile%.net >nul
  1127. goto _edtpro
  1128. :_netpro
  1129. edit %ramdrv%\etc\profile\%w_profile%.net
  1130. :_dummy87
  1131. if exist %srcdrv%\etc\profile\%w_profile%.pro del %srcdrv%\etc\profile\%w_profile%.pro >nul
  1132. if exist %ramdrv%\etc\profile\%w_profile%.pro copy %ramdrv%\etc\profile\%w_profile%.pro %srcdrv%\etc\profile\%w_profile%.pro >nul
  1133. if exist %srcdrv%\etc\profile\%w_profile%.net del %srcdrv%\etc\profile\%w_profile%.net >nul
  1134. if exist %ramdrv%\etc\profile\%w_profile%.net copy %ramdrv%\etc\profile\%w_profile%.net %srcdrv%\etc\profile\%w_profile%.net >nul
  1135. goto _edtpro
  1136. :_delpro
  1137. call w.bat box @%0:w_delpro
  1138. if errorlevel 2 goto _edtpro
  1139. del %srcdrv%\etc\profile\%w_profile%.*
  1140. del %ramdrv%\etc\profile\%w_profile%.*
  1141. echo MSNET: Profile "%w_profile%" deleted.
  1142. echo.
  1143. @rem pause
  1144. goto _config1
  1145. :_chgglo
  1146. call w.bat box @%0:w_chgglo
  1147. if errorlevel 4 goto _config1
  1148. if errorlevel 3 goto _netlmh
  1149. if errorlevel 2 goto _netglo
  1150. if errorlevel 1 goto _setglo
  1151. goto _save
  1152. :_netglo
  1153. if exist %ramdrv%\etc\autoexec.net goto _netglo1
  1154.  
  1155. set t_out=1
  1156. call drd.bat %srcdrv%
  1157. if errorlevel 1 set t_out=0
  1158. wbat box @%0:w_wprot #1,%t_out%
  1159. set t_out=
  1160. if errorlevel 2 goto _chgglo
  1161. echo MSNET: autoexec.net does not exist, creating a sample file...
  1162. if not exist %srcdrv%\etc\*.* mkdir %srcdrv%\etc
  1163. echo rem Bart's Network boot disk - autoexec.net file>%ramdrv%\etc\autoexec.net
  1164. echo rem>>%ramdrv%\etc\autoexec.net
  1165. echo rem Use this batch file for your global drive mappings or to start any>>%ramdrv%\etc\autoexec.net
  1166. echo rem application you want.>>%ramdrv%\etc\autoexec.net
  1167. echo rem Example:>>%ramdrv%\etc\autoexec.net
  1168. echo rem net use f: \\server\share>>%ramdrv%\etc\autoexec.net
  1169. :_dummy56
  1170. if exist %srcdrv%\etc\autoexec.net del %srcdrv%\etc\autoexec.net >nul
  1171. if exist %ramdrv%\etc\autoexec.net copy %ramdrv%\etc\autoexec.net %srcdrv%\etc\autoexec.net >nul
  1172. :_netglo1
  1173. edit %ramdrv%\etc\autoexec.net
  1174. :_dummy66
  1175. if exist %srcdrv%\etc\autoexec.net del %srcdrv%\etc\autoexec.net >nul
  1176. if exist %ramdrv%\etc\autoexec.net copy %ramdrv%\etc\autoexec.net %srcdrv%\etc\autoexec.net >nul
  1177. if exist %srcdrv%\etc\lmhosts del %srcdrv%\etc\lmhosts >nul
  1178. if exist %ramdrv%\etc\lmhosts copy %ramdrv%\etc\lmhosts %srcdrv%\etc\lmhosts >nul
  1179. goto _chgglo
  1180. :_netlmh
  1181. if exist %ramdrv%\etc\lmhosts goto _netlmh1
  1182. set t_out=1
  1183. call drd.bat %srcdrv%
  1184. if errorlevel 1 set t_out=0
  1185. wbat box @%0:w_wprot #1,%t_out%
  1186. set t_out=
  1187. if errorlevel 2 goto _chgglo
  1188. echo MSNET: lmhosts does not exist, creating a sample file...
  1189. if not exist %srcdrv%\etc\*.* mkdir %srcdrv%\etc
  1190. echo # Bart's Network boot disk - LMHOSTS file>%ramdrv%\etc\lmhosts
  1191. echo #>>%ramdrv%\etc\lmhosts
  1192. echo # Sample line:>>%ramdrv%\etc\lmhosts
  1193. echo # 192.168.0.10    server1>>%ramdrv%\etc\lmhosts
  1194. echo.>>%ramdrv%\etc\lmhosts
  1195. :_netlmh1
  1196. edit %ramdrv%\etc\lmhosts
  1197. :_dummy66
  1198. if exist %srcdrv%\etc\autoexec.net del %srcdrv%\etc\autoexec.net >nul
  1199. if exist %ramdrv%\etc\autoexec.net copy %ramdrv%\etc\autoexec.net %srcdrv%\etc\autoexec.net >nul
  1200. if exist %srcdrv%\etc\lmhosts del %srcdrv%\etc\lmhosts >nul
  1201. if exist %ramdrv%\etc\lmhosts copy %ramdrv%\etc\lmhosts %srcdrv%\etc\lmhosts >nul
  1202. goto _chgglo
  1203. :_setglo
  1204. set wcb1=%g_fixpro%
  1205. set wcb2=%g_bypro%
  1206. set wcb3=%g_nocfg%
  1207. call w.bat box @%0:w_global
  1208. set g_fixpro=%wcb1%
  1209. set g_bypro=%wcb2%
  1210. set g_nocfg=%wcb3%
  1211. if errorlevel 2 goto _chgglo
  1212. echo MSNET: Saving global settings
  1213. set | tfind /f1,2 "G_"> %tmp%\_msnet.tmp
  1214. if not exist %srcdrv%\etc\*.* mkdir %srcdrv%\etc
  1215. if not exist %ramdrv%\etc\global.set goto _yglob
  1216. xgrep -syv "^[:s]*@*[:s]*s?e?t?[:s]*G_.+=" %ramdrv%\etc\global.set >> %tmp%\_msnet.tmp
  1217. :_yglob
  1218. type %tmp%\_msnet.tmp > %srcdrv%\etc\global.set
  1219. type %tmp%\_msnet.tmp > %ramdrv%\etc\global.set
  1220. if not exist %srcdrv%\etc\global.set goto _gloerr1
  1221. echo MSNET: Global settings saved to "%ramdrv%\etc\global.set"
  1222. echo.
  1223. @rem pause
  1224. :_dummy66
  1225. if exist %srcdrv%\etc\autoexec.net del %srcdrv%\etc\autoexec.net >nul
  1226. if exist %ramdrv%\etc\autoexec.net copy %ramdrv%\etc\autoexec.net %srcdrv%\etc\autoexec.net >nul
  1227. if exist %srcdrv%\etc\lmhosts del %srcdrv%\etc\lmhosts >nul
  1228. if exist %ramdrv%\etc\lmhosts copy %ramdrv%\etc\lmhosts %srcdrv%\etc\lmhosts >nul
  1229. goto _chgglo
  1230. :_gloerr1
  1231. echo MSNET: Error saving global settings
  1232. echo.
  1233. @rem pause
  1234. goto _setglo
  1235. :w_delpro "Delete profile?" [x]
  1236.  
  1237.  About to delete profile "%w_profile%"
  1238.  Are you sure?
  1239.  
  1240.          [ Yes ]  [? No ]
  1241. ::
  1242. :w_chgpro "Profile settings" [x]
  1243.  
  1244.  Selected profile: %w_profile%
  1245.  
  1246.  [ Edit ]    Edit profile using a text editor (advanced)
  1247.  
  1248.  [ Batch ]   Edit the profile batch file using a text editor
  1249.  
  1250.  [ Delete ]  Delete this profile
  1251.  
  1252.  [? Back ]    Go back
  1253.  
  1254. ::
  1255. :w_chgglo "Global settings" [x]
  1256.  
  1257.  [ Settings ]      Change global settings
  1258.  
  1259.  [ Autoexec.net ]  Edit the global autoexec.net batch file
  1260.  
  1261.  [ Lmhosts ]       Edit lmhosts file
  1262.  
  1263.  [? Back ]          Go back
  1264. ::
  1265. :w_global "Global settings" [x]
  1266.  
  1267.  Timeout [$ g_timeout,3] seconds.
  1268.  
  1269.  [!] Use a fixed profile: [$ g_profile,8]
  1270.      [!] No bypass
  1271.  
  1272.  [!] Skip "Goto config?" dialog
  1273.  
  1274.       [ Save ]  [? Cancel ]
  1275. ::
  1276. :w_param "Identification Settings" [x]
  1277.                                    (~press any key~: #? sec.)
  1278. Logon as       : [$ p_user,20,U                  ]   Edit..
  1279. Password       : [$ w_pass,14,P  ]         protocol.ini : [!]
  1280. Machine name(1): [$ p_mname,15,U]        system.ini   : [!]
  1281. Workgroup      : [$ p_wrkgrp,15,U  ]        lmhosts      : [!]
  1282. Domain      (2): [$ p_ntdom,15,U]        CPU speed    : [$ p_slow,3]%
  1283.  
  1284.  (1) When starting with "PC-" a random name will be used
  1285.  (2) Requires full redirector and uses much more base memory
  1286.  
  1287.        [ OK ]  [ Save ]  [ Help ]  [ Abort ]  [? Back ]
  1288. ::
  1289. :w_tcp "TCP/IP Parameters" [x]
  1290.                       (~press any key~: #? sec.)
  1291. [!] Enable DHCP
  1292.  
  1293.  IP address   :*[$ p_ip,15!    ]
  1294.  Subnet Mask  :*[$ p_subnet,15!]
  1295.  Gateway      :*[$ p_gway,15   ]
  1296.  Wins Server  :*[$ p_wins,15   ]
  1297.  Name Server  :*[$ p_dns,15    ]
  1298.  DNS Suffix   :*[$ p_domain,30               ]
  1299.  
  1300. [!] Load Packet Driver Interface
  1301.  
  1302.         * Not used when DHCP enabled
  1303.  
  1304.          [ OK ] [ Abort ] [? Back ]
  1305. ::
  1306. :w_pwrite "Overwrite profile?" [x]
  1307.  
  1308.  A profile with the name "%g_profile%"
  1309.  already exists, overwrite?
  1310.  
  1311.         [ Yes ]  [? No ]
  1312. ::
  1313. :w_proname "Enter profile name" [x]
  1314.  
  1315.  Enter profile name: [$ g_profile,8]
  1316.  
  1317.       [ OK ] [? Cancel ]
  1318. ::
  1319. :w_savecfg "Save profile" [x]
  1320.  
  1321. Network adapter detection mode:
  1322.   [.] Prompt  [.] Auto  [.] Manual  [.] %p_nic%
  1323.  
  1324. [!] Skip TCP/IP parameter dialog
  1325. [!] Skip identification dialog
  1326. [!] Save password (in clear text, not secure!)
  1327.  
  1328. Dialog timeout [$ p_timeout,3] seconds.
  1329.                (0 means disabled)
  1330.  
  1331. Configuration will be saved to:
  1332. %ramdrv%\etc\profile\%g_profile%
  1333.  
  1334.                [ Ok ]  [? Cancel ]
  1335. ::
  1336. :w_bypro "Profile OK?" [x]
  1337.         (~press any key~: #? sec.)
  1338.   About to process
  1339.   profile "%g_profile%"...
  1340.  
  1341.    [ Ok ] [? Cancel ] [ Abort ]
  1342. ::
  1343. :w_cfg "Continue or goto config?" [x]
  1344.         (~press any key~: #? sec.)
  1345.   Running Network Client...
  1346.  
  1347.   [ Ok ] [ Config ] [? Abort ]
  1348. ::
  1349. :w_wprot "Disable write protection..." [x]
  1350.  
  1351.   If the disk in drive %srcdrv% is write
  1352.   protected, please disable the write
  1353.   protection now in order to save settings.
  1354.   You can re-enable write protection after
  1355.   saving.
  1356.  
  1357.             [ Ok ]  [? Cancel ]
  1358. ::
  1359. :w_ramdrv "Where to store driver index files?" [x]
  1360.  
  1361.   [ Ramdisk ]   Copy to ramdisk (%ramdrv%)
  1362.  
  1363.   [ Drive &A: ]  If booted from Floppy choose to A:
  1364.  
  1365.   [ Drive &B: ]  If booted from CD-Rom choose to B:
  1366.                 Then create isoimage again with new
  1367.                 _msnet.pci, _msnet.txt and _msnet.crc
  1368.  
  1369.   [? Cancel ]    Don't copy
  1370. ::
  1371. :w_relogon "Logon as a different user" [x]
  1372.  
  1373. Logon as : [$ p_user,20,U                  ]
  1374. Password : [$ w_pass,14,P  ]
  1375.  
  1376.      [ Ok ]  [? Cancel ]
  1377. ::
  1378. :w_map "Map drive" [x]
  1379.  
  1380. Drive : [$ w_drv,1,U! ]
  1381. Path  : [$ w_path,30,!               ]
  1382. [!] Reconnect at logon
  1383.  
  1384.          [ Ok ]  [? Cancel ]
  1385. ::
  1386. :w_help "Help"
  1387.  
  1388. The help info has been removed
  1389. from the batchfile.
  1390.  
  1391. Please visit
  1392. http://www.nu2.nu/bootdisk/network/
  1393. for more information.
  1394.  
  1395.              [ Ok ]
  1396. :_usage
  1397. echo Parameters:
  1398. echo -c    Config mode
  1399. echo -h    This help info
  1400. echo.
  1401. echo _end
  1402. :_error
  1403. shift
  1404. shift
  1405. echo.
  1406. echo MSNET: Error %1 %2 %3 %4 %5 %6 %7 %8
  1407. echo.
  1408. @rem pause
  1409. goto _end
  1410. :_abort
  1411. echo.
  1412. echo MSNET: aborted...
  1413. echo.
  1414. @rem pause
  1415. :_end
  1416. set | tfind /f1,2 "P_" >%tmp%\_msnet.tmp
  1417. set | tfind /f1,2 "W_" >>%tmp%\_msnet.tmp
  1418. set | tfind /f1,2 "G_" >>%tmp%\_msnet.tmp
  1419. type %tmp%\_msnet.tmp | lmod /L* /B= set [$1]=>%tmp%\_msnet.bat
  1420. call %tmp%\_msnet.bat
  1421. if exist %tmp%\_msnet.* del %tmp%\_msnet.*
  1422. for %%i in (0 1 2 3 4) do set pci%%i=
  1423. for %%i in (1 2 3 4 5 6 7 8 9) do set wcb%%i=
  1424. for %%i in (wrb wbat ?) do set %%i=
  1425. cd %ramdrv%\
  1426. set _msnet=
  1427. set ?=
  1428. if exist %tmp%\_msnetx.bat %tmp%\_msnetx.bat
  1429. :_eof
  1430.